专利摘要:
the present invention discloses a method and apparatus for business verification. in the method, a first block chain node packs at least one business request obtained from its business memory into a preprocessed block and transmits the preprocessed block to the second block chain nodes. if it is found that a matching business memory does not include a part of the business request in the preprocessed block, a second block chain node can acquire the business request part from another block chain node and perform verification of consensus in the pre-processed block through the use of the business request part and a business request stored in the business memory of the same. if the second block chain node finds, after receiving the preprocessed block, that the corresponding business memory does not include a portion of the business request in the preprocessed block, the second block chain node does not directly consider the pre-processed block as failed in the consensus check. instead, the second block chain node acquires the missing business request from another block chain node to perform a consensus check on the preprocessed block. therefore, the business processing accuracy of the entire block chain business is effectively improved.
公开号:BR112019017409A2
申请号:R112019017409-5
申请日:2018-02-22
公开日:2020-03-31
发明作者:Li Ning
申请人:Alibaba Group Holding Limited;
IPC主号:
专利说明:

“METHOD FOR THE VERIFICATION OF BUSINESS AND APPARATUS FOR THE VERIFICATION OF BUSINESS” Priority claim [001] The present invention claims priority for Chinese Patent application No. 201710096987.5, filed on February 22, 2017, the total content of which is incorporated herein by reference.
Field of the invention [002] The present invention refers to the field of computer technologies and, in particular, to a method and apparatus for business verification.
Background of the Invention [003] Block chain technology is also known as a distributed ledger technology. The data stored in a block chain has characteristics such as resistance to tampering and decentralization. Therefore, block chain technology offers a more secure data storage environment for people and makes data storage more convenient for people.
[004] Currently, when receiving a business request sent by a terminal, a block chain node can store the business request in its business memory. At the same time, the block chain node can transmit the business request to other block chain nodes across the consensus network, so that the other block chain nodes, after receiving the business request, store the business request in the corresponding corresponding business memories.
[005] The block chain node will receive a defined number of business requests from the business memory itself, pack these
Petition 870190105733, of 10/18/2019, p. 8/65
2/42 business requests in a pre-processed block and will transmit the pre-processed block to other block chain nodes across the consensus network, to reach consensus, in order to determine whether business requests need to be stored in the chain of blocks as blocks.
[006] In a real-world application, in a process where a block chain node in a consortium chain transmits an incoming business request to other block chain nodes, some other block chain nodes across the network consensus may not receive the transmission of business requests by the block chain node due to the impact of factors such as a network failure. In other words, with respect to business requests stored in a business memory that corresponds to a block chain node, business memories corresponding to other block chain nodes may be missing from a portion of the business requests. Block chain nodes in the absence of a portion of business requests can greatly affect a consensus verification result for the entire consensus network to some extent.
[007] For example, the entire consensus network is assumed to have three block chain nodes: A, B and C. Block chain node A stores five business requests: # 1, # 2, # 3 , # 4 and # 5. Block chain node B stores four business requests: # 1, # 2, # 3 and # 4. Block chain node C stores three business requests: # 1, # 2 and # 3. Business requests are stored in business memories corresponding to the block chain nodes. When block chain node A packages the five business requests # 1, # 2, # 3, # 4 and # 5 into a preprocessed block and transmits the preprocessed block to other two block chain nodes for perform a consensus check on the five business requests, as block chain nodes B and C are missing part of the five business requests, the block chain nodes B
Petition 870190105733, of 10/18/2019, p. 9/65
3/42 and C can directly consider the pre-processing block including the five business requests in the consensus check. In this case, as more than half of the block chain nodes across the consensus network consider the pre-processed block to fail the consensus check, the five business requests included in the pre-processed block cannot pass the consensus check the entire consensus network. The five business requests will not be recorded in block chains across the consensus network.
[008] The other block chain nodes consider the preprocessed block to fail consensus verification only because a part of the business requests in the preprocessed block is not stored in the business memories corresponding to the other block chain nodes, part of business requests in the pre-processed block is violated illegally. Therefore, the probability that the pre-processed block does not pass consensus verification for the entire consensus network will be massively increased. However, the business requests included in the pre-processed block may have no problem. As a result, a normal business request is very likely to fail consensus verification of state-of-the-art block chain nodes, thereby affecting the accuracy of business processing for the entire block chain business.
Brief Description of the Invention [009] The embodiments of the present invention provide a method of business verification to solve the problem of the low precision of business processing of a block chain business in the prior art.
[010] Embodiments of the present invention provide a method for business verification, including:
Petition 870190105733, of 10/18/2019, p. 10/65
4/42 receive, through a first block chain node, a business request sent by a terminal;
store the business request in a business memory that corresponds to the first block chain node and transmit the business request to the second block chain nodes, so that the second block chain nodes store the business request in the corresponding business memories; and win at least one business request from the business memory, packaging the gain of at least one business request into a pre-processed block and passing the pre-processed block to the second block chain nodes, such that when determining the business memory that corresponds to it, does not include a part of the business request in the pre-processed block, each of the second block chain nodes acquires the part of the business request from another block chain node and performs the verification consensus in the pre-processed block using the part of the business request and a business request stored in the business memory of the same.
[011] Embodiments of the present invention provide a business verification apparatus to solve the problem of low business processing accuracy of a state-of-the-art block chain business.
[012] Embodiments of the present invention provide a device for business verification, including:
a receiving module, configured to receive a business request sent by a terminal;
a storage module, configured to store the business request in a business memory that corresponds to the device and transmit the business request to the second chain nodes
Petition 870190105733, of 10/18/2019, p. 11/65
5/42 blocks, so that the second block chain nodes store the business request in the corresponding corresponding business memories; and a gain request module, configured to win at least one business request from the business memory, package the gain from at least one business request in a pre-processed block and transmit the pre-processed block to the seconds block chain nodes that the corresponding business memory does not include a part of the business request in the preprocessed block, each of the second block chain nodes acquires the business request part of another block chain node and performs the consensus check in the pre-processed block, using the part of the business request and a business request stored in the business memory of the same.
[013] Embodiments of the present invention provide a method for business verification to solve the problem of low business processing accuracy of a state-of-the-art block chain business.
[014] Embodiments of the present invention provide a method for business verification, including:
receiving, through a second block chain node, a business request transmitted by a first block chain node;
store the business request in a business memory that corresponds to the second block chain node;
receive a pre-processed block that is transmitted by the first block chain node and includes at least one business request and acquire a portion of the business request from another block chain node when it is determined that the business memory that corresponds to the second chain of blocks, the node does not include the part of the business request in the
Petition 870190105733, of 10/18/2019, p. 12/65
6/42 pre-processed block; and perform consensus verification on the pre-processed block using the business request part and a business request stored in the business memory that corresponds to the second block chain node.
[015] Embodiments of the present invention provide a business verification apparatus for solving the problem of low business processing accuracy of a state-of-the-art block chain business.
[016] Embodiments of the present invention provide a device for business verification, including:
a request receiving module, configured to receive a business request transmitted by a first block chain node;
a request storage module, configured to store the business request in a business memory that corresponds to the device;
a receiving module, configured to receive a pre-processed block that is transmitted by the first block chain node and includes at least one business request and acquires a portion of the business request from another block chain node when it is determined that the corresponding business memory does not include the part of the business request in the pre-processed block; and a verification module, configured to perform consensus verification in the pre-processed block using the part of the business request and a business request stored in the business memory that corresponds to it.
[017] The at least one technical solution used above by
Petition 870190105733, of 10/18/2019, p. 13/65
7/42 embodiments of the present invention can achieve the following beneficial effects:
In the embodiments of the present invention, when a second block chain node encounters, after receiving a preprocessed block, which is transmitted by a first block chain node, and includes business requests, that a corresponding business memory does not includes a portion of the business requests node in the preprocessed block, the second block chain node does not directly consider the preprocessed block as a failure in the local consensus check. Instead, the second block chain node can acquire missing business requests from other block chain nodes across the consensus network and perform consensus verification on the business requests included in the preprocessed block using the requests acquired business and business requests stored in its own business memory. In this way, the adverse effects of consensus verification of business requests caused by a network failure are greatly reduced, thereby improving the accuracy of business processing for the entire block chain business.
Brief Description of the Figures [018] The accompanying drawings described herein are used to provide a better understanding of the present invention and to build a part of the present invention. Exemplary embodiments of the present invention and illustrations thereof are used to explain the present invention, but are not intended to constitute any improper limitation on the present invention. In the attached drawings:
Figure 1 is a schematic diagram of a commercial efficiency process, according to an embodiment of the present invention;
Petition 870190105733, of 10/18/2019, p. 14/65
8/42
Figure 2 is a schematic diagram of storage, by block chain nodes, of business requests received in corresponding business memories, respectively, using pre-defined distributed middleware, according to an embodiment of the present invention;
Figure 3 is a schematic diagram for determining a total characteristic value to be verified, according to an embodiment of the present invention;
Figure 4 is a schematic diagram of establishing consensus by a consensus network for a pre-processed block sent by a first block chain node, in accordance with an embodiment of the present invention;
Figure 5 is a schematic diagram of a business verification apparatus, according to an embodiment of the present invention; and
Figure 6 is a schematic diagram of another device for business verification, according to an embodiment of the present invention.
Detailed Description of the Invention [019] Currently, a business processing process by a block chain node is basically the following: after a terminal sends a business request to a block chain node, the block chain node can send the received business request to other block chain nodes by transmission. The other block chain nodes can store the business request received in the corresponding business memories. Definitely, the block chain node that sends the business request to other block chain nodes can also store the business request in a business memory of the
Petition 870190105733, of 10/18/2019, p. 15/65
9/42 even.
[020] In a consensus network formed by block chain nodes, each block chain node has the right to initiate a consensus request for other block chain nodes. The block chain node can organize a defined number of business requests stored in the business memory itself in a given order, to gain a business request queue and generate a hash value for the business request queue. The block chain node can then package the business request queue and hash into a pre-processed block, and send the pre-processed block to other diffusion block chain nodes in order to perform a consensus check. .
[021] During the consensus check, after receiving the pre-processed block, the other block chain nodes will check the legality of the asymmetric signatures of the business requests included in the pre-processed block. That is, the block chain node can analyze the business requests included in the preprocessed block, according to a public key (or private key, depending on whether a private or public key is used when business requests are encrypted) to verify that business requests are legal business requests.
[022] In addition, upon receiving a business request sent by a terminal, the block chain node can transmit the business request to other block chain nodes. Therefore, the business memories corresponding to the block chain nodes, in general, store all business requests received by the entire consensus network. Based on this, after receiving the preprocessed block, the other block chain nodes can verify the hash integrity of the business requests in the preprocessed block. That is, the supply chain node
Petition 870190105733, of 10/18/2019, p. 16/65
10/42 blocks can search the business memory of the same for the business requests included in the pre-processed block and organize the business requests found, according to an order of organization of the business requests in the pre-processed block, to obtain a queue of business requests. The block chain node can generate a hash value for the business request queue and compare the hash value obtained with the hash value included in the preprocessed block, to determine whether the content of the business requests in the pre block -processed has been tampered with illegally.
[023] According to the asymmetric signature legality check and the hash integrity check carried out for the preprocessed block, each of the block chain nodes will gain its own verification result on whether the preprocessed block as a whole it is legal and the verification result obtained by yourself for other block chain nodes via transmission.
[024] According to the verification results sent by the other block chain nodes to the pre-processed block and the verification result obtained by you, each of the block chain nodes will gain an integrated verification result, if the pre-processed block go through the checks, of the block chain nodes throughout the consensus network, and also transmit the integrated verification result obtained to the other block chain nodes via broadcasting.
[025] After receiving the results of the integrated verification transmitted between each other, each of the block chain nodes in the consensus network will also assess whether the majority of the integrated verification results obtained by the block chain nodes in the consensus network indicate that the verification was successful. If so, business requests in the pre-processed block are stored in a separate block chain
Petition 870190105733, of 10/18/2019, p. 17/65
11/42 as blocks; or if not, business requests in the pre-processed block are declined.
[026] After storing the business requests in the preprocessed block in its own block chain, such as blocks, each of the block chain nodes can release the business requests included in the preprocessed block from its own memory business memory, so that business memory after launch can continue to store business requests received by the block chain node.
[027] However, in the state of the art, in the process where the block chain node broadcasts the received business request to other block chain nodes, some of the other block chain nodes may not receive the request transmission by the block chain node due to the impact of factors such as a network failure. As a result, when the block chain node transmits the pre-processed block including the defined number of business requests to other block chain nodes for consensus verification subsequently, because the corresponding business memories of some block chain nodes some business requests are missing from the preprocessed block, these block chain nodes can directly assume that the preprocessed block failed the local consensus checks of the block chain nodes. Therefore, the likelihood that the preprocessed block will fail to verify consensus across the entire consensus network is greatly increased, thereby affecting the accuracy of business processing for the entire block chain business.
[028] In addition, in a real application, if the business request fails the consensus verification of the entire consensus network, the block chain node will return a message indicating a commercial request processing failure to the user's terminal . Therefore, the
Petition 870190105733, of 10/18/2019, p. 18/65
12/42 above situation can still bring great inconvenience to the user.
[029] To effectively solve the above problem, in the present invention, when a second block chain node encounters, after receiving a pre-processed block that is transmitted by a first block chain node and includes business requests , that a corresponding business memory does not include a portion of the business requests in the preprocessed block, the second block chain node can acquire missing business requests from other block chain nodes across the consensus network and perform consensus checking on business requests included in the pre-processed block using acquired business requests and business requests stored in the business memory itself. In this way, the adverse effects of consensus verification of business requests caused by a network failure are greatly reduced, thereby improving the accuracy of business processing for the entire block chain business.
[030] In order to make those skilled in the art better understand the technical solutions in the present invention, the technical solutions in the embodiments of the present application will be described clearly and completely through the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are just a few of the embodiments of the present invention, rather than all embodiments. Based on the embodiments of the present invention, all other embodiments derived by those skilled in the art, without any creative effort, should fall within the scope of protection of the present invention.
[031] Figure 1 is a schematic diagram of a commercial efficiency process, according to an embodiment of the present invention, including, specifically, the following steps.
Petition 870190105733, of 10/18/2019, p. 19/65
13/42 [032] (S101): A first block chain node receives a business request sent by a terminal.
[033] In the embodiment of the present invention, during business processing, a user can fill in the business processing content that corresponds to a user terminal maintained by the user. The terminal will generate a corresponding business request, according to the business processing content completed by the user and send the business request to a first block chain node across the consensus network. The terminal mentioned here can be a device, such as a computer or a smartphone. Definitely, the user can also send the business request to the first block chain node using a customer terminal installed on the terminal. That is, the user fills in the business processing content that corresponds to an interface presented at the customer's terminal. The customer terminal generates a corresponding business request, according to the content of the business processing completed by the user on the interface and sends the business request to the first block chain node using the terminal.
[034] It should be noted that, in a real application, the entire consensus network includes multiple block chain nodes. The first block chain node mentioned in the embodiment of the present invention refers to a block chain node that receives the business request from the terminal. Block chain nodes, other than the first block chain node, can be referred to as the second block chain node in the embodiment of the present invention. The first block chain node and the second block chain node are relative concepts. That is, the block chain node that receives the business request from the terminal is the first block chain node, and the block chain node that receives the transmission of the business request.
Petition 870190105733, of 10/18/2019, p. 20/65
14/42 trades by the first block chain node is referred to as the second block chain node. The block chain nodes in the consensus network can all receive the business request sent by the terminal, and therefore all block chain nodes can be the first block chain nodes or the second block chain nodes. Whether a block chain node is the first block chain node or the second block chain node depends on where the business request received originates from.
[035] Definitely, during consensus verification, whether a block chain node is the first block chain node or the second block chain node can also be determined, according to a node that initiates consensus verification . That is, a consensus verification initiator that broadcasts a pre-processed block including at least one business request to the entire consensus network can be the first block chain node, and a block chain node that receives the block. preprocessed can be referred to as the second block chain node.
[036] (S102): The business request is stored in a business memory that corresponds to the first block chain node, and the business request is transmitted to the second block chain nodes, in such a way that the second block chain nodes store the business request in the corresponding corresponding business memories.
[037] During the consensus check, the first block chain node needs to earn a portion of the business requests from the corresponding business memory, package the portion of the business requests into a pre-processed block and transmit the pre- processed to the second chain of node blocks across the consensus network. After receiving the pre-processed block including the business requests part, the second block chain nodes need to perform a consensus check on the part
Petition 870190105733, of 10/18/2019, p. 21/65
15/42 of business requests in the pre-processed block, according to business requests included in their respective business memories corresponding to the business requests part. The business requests included in the corresponding business memories of the second block chain nodes and which correspond to the business requests portion must be acquired from the first block chain node.
[038] On this basis, in the embodiment of the present invention, after receiving the business request sent by the terminal, the first block chain node can store the business request in the corresponding business memory. At the same time, the first block chain node can send the business request to the second block chain nodes across the broadcast consensus network, such that the second block chain nodes store the business request in their respective corresponding business memories.
[039] In the state of the art, the first block chain node, in general, stores the business request received in its own cache. That is, in the state of the art, business memory is a cache of the block chain node. The cache has limited storage space. Therefore, when the cache storage space is completely occupied, the first block chain node cannot continue to receive a business request sent by the terminal. Only after a portion of the business requests in the cache pass the consensus check performed by all block chain nodes across the consensus network, can the storage space occupied by that portion of business requests be used to continue to store the business request sent by the terminal. Therefore, in the state of the art, the cache storage space greatly limits the processing efficiency of blockchain business deals.
Petition 870190105733, of 10/18/2019, p. 22/65
16/42 [040] To effectively solve the problem in the state of the art, in the embodiment of the present invention, the operation and maintenance personnel of block chain nodes can fix business memories in a database form for block chain nodes, respectively. That is, each block chain node may have to correspond to a business memory in a database form. In other words, the business memory mentioned in the embodiment of the present application is a database used to store business requests. That way, after receiving the business request sent by the terminal, the first block chain node can store the business request in the business memory that corresponds to the first block chain node and perform consensus verification on the business request stored in business memory in a subsequent procedure.
[041] The storage space of business memory in a database form is much larger than the storage space of the cache. Therefore, when the first block chain node performs consensus checking on a portion of business requests in business memory using the entire consensus network, the first block chain node can still continue to receive business requests sent from the terminal . That is, it is not necessary to use the storage space occupied by the part of business requests that passes the consensus check to receive business requests sent by the terminal. Compared to the state of the art, the first block chain node massively meets the constantly growing turnover requirement of the block chain business, and the efficiency of the block chain business processing is improved.
[042] Furthermore, in the state of the art, like chain nodes
Petition 870190105733, of 10/18/2019, p. 23/65
17/42 blocks across the consensus network store all business requests in their own caches (ie, state of the art business memories are caches), when a block chain node is down or other failures, business requests stored in the cache itself will disappear. However, in the embodiment of the present invention, business requests are stored in the database form business memories that correspond to the block chain nodes. Therefore, even if a block chain node is down or has other failures, business requests stored in the business form of the database form will not disappear, further ensuring the security of business requests.
[043] In the embodiment of the present invention, data transmission between block chain nodes and business memories across the consensus network can be implemented through the use of pre-defined distributed middleware. That is, after receiving the business request sent by the terminal, the first block chain node can send the business request to the distributed middleware. The distributed middleware can send, according to a node identifier of the first block chain node, the business request to the business memory that corresponds to the first block chain node for storage. Likewise, after receiving the transmission of the business request by the first block chain node, the second block chain node can send the business request to the distributed middleware. The distributed middleware can also send, according to a node identifier of the second block chain node, the business request for the business memory that corresponds to the second block chain node for storage, as shown in Figure 2.
[044] Figure 2 is a schematic diagram of
Petition 870190105733, of 10/18/2019, p. 24/65
18/42 storage, by block chain nodes, business requests received in corresponding business memories, respectively, using predefined distributed middleware, according to an embodiment of the present invention.
[045] Taking a transaction deal as an example, when a user needs to carry out a transfer deal, the user can select a transfer object in a terminal maintained by the user and enter a transfer amount. The terminal will generate a corresponding transaction request, according to the content entered by the user, and will send the transaction request to a first block chain node.
[046] After receiving the transaction request (ie the business request) sent by the terminal, the first block chain node can send the transaction request to pre-configure the distributed middleware, in such a way that the distributed middleware preconfigured can store, according to a node identifier of the first block chain node, the transaction request in a business memory that corresponds to the first block chain node.
[047] Upon receiving the transaction request, the first block chain node can then send the transaction request to other block chain nodes, that is, the second block chain nodes in an entire broadcast consensus network . After receiving the transaction request, the second block chain nodes can also send the transaction request to the pre-defined distributed middleware, so that the pre-defined distributed middleware stores, according to the respective second node identifiers block chain nodes, the transaction request in the respective business memories corresponding to the second block chain nodes.
Petition 870190105733, of 10/18/2019, p. 25/65
19/42 [048] It should be noted that, upon receiving the business request sent by the first block chain node, the second block chain node can also send the business request to other block chain nodes across the diffusion consensus network. For a normal and legal business request, it is expected by the entire consensus network that the business request can pass the consensus check carried by the block chain nodes. Therefore, it is expected across the consensus network that the business request may exist in the business memories corresponding to the block chain nodes before the consensus check is carried out.
[049] However, in a real application, the network communication between the block chain nodes, in general, presents flaws, such as a network interruption and a network instability. If the business request is transmitted only by the first block chain node, while other block chain nodes do not transmit the business request again, when a network communication failure occurs between the first block chain node and one or plus second block chain node, the one or more second block chain node will not be able to receive the business request, affecting the consensus check for the business request in a subsequent procedure.
[050] To avoid this situation as much as possible, in the embodiment of the present invention, after receiving the business request sent by the first block chain node, the second block chain node can transmit the business request to other block chain nodes across the broadcast consensus network. Upon receiving the business request, the other block chain nodes can first judge whether the business request was received previously; if so, the other block chain nodes ignore the business request; if not, the other nodes of
Petition 870190105733, of 10/18/2019, p. 26/65
20/42 block chains store the business request in the corresponding business memories, using predefined distributed middleware.
[051] For example, in Figure 2, when a network communication failure occurs between the first block chain node and a second block chain node (3), the second block chain node (3) can still receive the transaction request using a second block chain node (2) and a second block chain node (4). Therefore, it is guaranteed that the transaction request will be stored in the business memories of the block chain nodes across the consensus network, as much as possible when the transaction request is a normal and legal transaction request.
[052] In the embodiment of the present invention, in a process of storing the business request, the first block chain node can first determine a type of business corresponding to the business request and classify the business request and business requests previously received, according to a pre-defined sequence of business type priorities.
[053] In a real application, different companies require different delays in business processing. For example, a transaction-type company, in general, has a relatively high requirement in delaying business processing. That is, it is expected that the entire consensus network can complete business processing quickly. A public benefit type business has a relatively low requirement to delay business processing. That is, the business will not be much affected, even if the entire consensus network processes the business after a long period.
[054] On this basis, in the embodiment of the present invention,
Petition 870190105733, of 10/18/2019, p. 27/65
21/42 when storing the business request in the business memory that corresponds to the first block chain node, the first block chain node can classify the business request in the business memory according to a priority business sequence, thus obtaining a business queue including the business request. In the business queue, business requests with high delay requirements have high levels, while business requests with low delay requirements have low levels. A specific way of classification is determined, according to the priority sequence of the types of business predefined by the operation and maintenance team.
[055] It should be noted that, in the embodiment of the present invention, in addition to determining a sequence of organization of business requests in a business queue, according to the priority sequence of the types of business, the first node block chain can also comprehensively determine the sequence of organization of business requests in business memory, according to how long business requests are stored in business memory. That is, when the time to store a business request in business memory is very long, the business request can be lifted to the front of the entire business queue, even if the business request has a low delay requirement. .
[056] (S103): At least one business request is obtained from the business memory, the gain of at least one business request is packaged in a pre-processed block and the pre-processed block is transmitted to the second block chain, the business memory that corresponds to it, does not include a part of the business request in the preprocessed block, each of the second block chain nodes acquires the business request part of another block chain node and performs the
Petition 870190105733, of 10/18/2019, p. 28/65
22/42 consensus verification in the pre-processed block using the part of the business request and a business request stored in the business memory of the same.
[057] In the embodiment of the present invention, it is necessary that the first block chain node establish a consensus for the business request stored in the corresponding business memory, through the use of the entire consensus network, to complete the processing of the business request. Therefore, the first block chain node can win at least one business request from the business memory that corresponds to it, and then establish consensus for at least one business request using the entire consensus network in one subsequent procedure.
[058] The first block chain node can win business requests with a business type greater than a priority defined in the business memory. For example, using a business type as a boundary, the first block chain node can win business requests from business types with higher priorities than the business memory business type.
[059] Definitely, the first block chain node can also gain a defined number of business requests from business memory. For example, when business requests are stored in business memory in the form of the above business queue, the first block chain node can gain a defined number of business requests from the business queue. In addition, if the set number is represented by N, the first block chain node can win first N business requests from the business queue.
[060] In addition to winning business requests, according to the defined number, the first block chain node can also
Petition 870190105733, of 10/18/2019, p. 29/65
23/42 win business requests, according to another standard. For example, the first block chain node can win business requests, with the storage time exceeding a predefined time period in the business memory. Alternatively, by establishing consensus for business requests using the entire consensus network, the first block chain node can select a business and win business requests corresponding to the business from the business memory. The first block chain node can select the company at random or select the company, according to a certain sequence. Definitely, the first block chain node can win more business requests, according to other standards, which are not described in detail here.
[061] After the first block chain node receives the number of business requests, the sub-characteristic values corresponding to the business requests are determined, respectively, according to a pre-determined feature value rule. defined. For example, when the predefined characteristic value determination rule is a hash algorithm, the first block chain node can determine sub-hash values that correspond to business requests, respectively. When the rule for determining the value of the predefined characteristic is a Message Digest (MD5) algorithm, the first block chain node can determine sub-MD5 values that correspond to the business requests, respectively.
[062] After the first block chain node determines the sub-characteristic values that correspond to the business requests, a characteristic value to be verified corresponding exclusively to the business requests can be determined, according to the characteristic values determined and the sequence of organization of requests for
Petition 870190105733, of 10/18/2019, p. 30/65
24/42 business in business memory.
[063] The value of the characteristic to be verified corresponds exclusively to business requests as a whole. That is, when the content of a business request between business requests is modified, the value of the characteristic to be verified will be changed. One way to determine the characteristic value to be verified by the first block chain node is as shown in Figure 3.
[064] Figure 3 is a schematic diagram for determining a characteristic value to be verified, according to an embodiment of the present invention.
[065] In Figure 3, the rule for determining the value of the characteristic used by the first block chain node is the Hash algorithm. Suppose the first block chain node obtains a number of sets (which is 4) of business requests from the business memory that corresponds to them. The arrangement of the four business requests in a business queue is shown in Figure 3. After determining four hash values that correspond to the four business requests respectively, the first block chain node can place the four hash values on four nodes in a Merkle tree, from left to right, according to the classifications of the four business requests in the business queue, and determine the non-leaf nodes and a root node of the Merkle tree accordingly. The first block chain node can then determine the Hash7 root node of the Merkle tree as a characteristic value to be verified corresponding exclusively to the four business requests.
[066] It should be noted that the method of determining the characteristic value to be verified, described above, is not the only method. The first block chain node can also perform the determination in other ways, as long as it is guaranteed that the characteristic value to be
Petition 870190105733, of 10/18/2019, p. 31/65
Verified 25/42 corresponds exclusively to business requests in a given sequence.
[067] After determining the value of the characteristic to be verified corresponding exclusively to business requests (that is, at least one business request obtained from the business memory), the first block chain node can package the value of the characteristic to be verified and business requests in a pre-processed block, the pre-processed block including business requests and the value of the characteristic to be verified. At the same time, business requests in the preprocessed block are organized, according to the sequence of organization of business requests in the business memory.
[068] The first block chain node can send the determined preprocessed block to other block chain nodes (across the consensus network through the consensus chain) and then the entire consensus network establishes a consensus on the business requests included in the pre-processed block, as shown in Figure 4.
[069] Figure 4 is a schematic diagram of establishing consensus by a consensus network for a pre-processed block sent by a first block chain node, in accordance with an embodiment of the present invention.
[070] In Figure 4, the first block chain node can transmit the preprocessed block to the second block chain nodes across the consensus network. For each of the second block chain nodes, upon receiving the preprocessed block sent by the first block chain node, the second block chain node can analyze the preprocessed block to determine business requests and the characteristic to be verified value that are included in the pre-processed block.
[071] As for each of the second block chain nodes,
Petition 870190105733, of 10/18/2019, p. 32/65
26/42 after winning pre-processed block business requests by analyzing, the second block chain node needs to perform asymmetric signature legality verification on business requests obtained by analysis, to verify that business requests are all requests cool business.
[072] Specifically, when sending a business request to a block chain node, the terminal, in general, can encrypt (sign) the business request using a possessed private key (which definitely can also be a key public). Therefore, when performing the asymmetric signature legality check on business requests included in the pre-processed block, the second block chain node needs to analyze business requests using a public key (or, when the terminal performs encryption through the using the public key, the second block chain node analyzes business requests using a private key owned) and verifies the content obtained through the analysis.
[073] For example, when performing the asymmetric signature legality check on a transaction request (that is, a commercial request) on the pre-processed block, the second block chain node can decrypt the transaction request using of the public key you have, such as gaining account addresses for both parties to the transaction involved in the transaction request, thereby verifying that the account addresses for both parties to the transaction are legal. When it is determined that the account addresses of the two parties to the transaction involved in the transaction request are legal accounts, and the amount of money stored in a transaction initiator's account is greater than or equal to a transfer amount involved in the transaction request , it is determined that the transaction request passes the asymmetric signature legality check; otherwise, it is determined that the request for
Petition 870190105733, of 10/18/2019, p. 33/65
27/42 transaction failed to verify asymmetric signature legality.
[074] After determining that the business requests included in the pre-processed block pass the asymmetric signature legality check, the second block chain node can further determine sub-characteristic values that correspond to the business requests using a rule for determining the value of a predefined characteristic. The characteristic value determination rule used by the second block chain node is the same as that used by the first block chain node.
[075] After determining the sub-characteristic values that correspond to the business requests, the second block chain node can determine a characteristic value that only corresponds to the business requests as a whole, according to a sequence of organization of the business requests in the pre-processed block and sub-characteristic values. The second block chain node compares the value of the characteristic with the value of the characteristic to be checked in the preprocessed block. When the two characteristic values are the same, it can be determined that the content of the business requests where a consensus needs to be established by the first block chain node is not changed, that is, it is determined that the business requests transmit the Hash integrity check.
[076] After the second block chain nodes perform the asymmetric signature legality check and the hash integrity check on the preprocessed block, according to the method above, the local verification results for the pre- processed can be obtained respectively (only when business requests the pre-processed block passes the asymmetric signature legality check and the hash integrity check, the verification result
Petition 870190105733, of 10/18/2019, p. 34/65
28/42 pre-processed block location indicates a success, the result of the pre-processed block local verification indicates a failure since the checks are not successful). Each of the second block chain nodes can then send the respective verification result obtained to other block chain nodes throughout the diffusion consensus network, in order to insert a consensus verification procedure for the entire consensus network. . After receiving the verification results transmitted between each other, each of the block chain nodes in the entire consensus network can gain an integrated verification result, as to whether the business requests included in the pre-processed block pass the node checks block chain the entire consensus network, according to the verification results received and the verification result obtained by yourself. The integrated verification result obtained is then transmitted to the other block chain nodes throughout the consensus network.
[077] After receiving the integrated verification results transmitted between each other, each of the block chain nodes in the consensus network can judge whether the majority of the integrated verification results obtained by the block chain nodes in the consensus network indicate that the verification is successful. If so, the business requests included in the pre-processed block are recorded in a block for storage, and the block is subsequently recorded in a chain of blocks, in which the block is stored, according to a time sequence; or if not, business requests are declined.
[078] The consensus verification procedure for the entire consensus network described above is a general consensus verification procedure. In the embodiment of the present invention, a procedure for conducting consensual verification on a defined number of business requests across the consensus network may further involve a
Petition 870190105733, of 10/18/2019, p. 35/65
29/42 complicated consensus algorithm, such as a Practical Byzantine Invoice Tolerance algorithm (PBFT), a consistency algorithm (Raft) and a Paxos algorithm. The procedure involving the consensus algorithm in the embodiment of the present invention is the same as in the state of the art, and will not be described in detail here.
[079] After a block chain node (the block chain node mentioned here can be the first block chain node or the second block chain node) stores business requests in the block chain as blocks, the storage space occupied by business requests in the respective business memories can be freed and business requests are transferred to a database used to store historical business requests.
[080] It should be noted that the second block chain nodes can further transmit the business request from the first block chain node. However, some block chain nodes across the consensus network may still not be able to receive the business request efficiently due to influences on the condition of the network. Therefore, during the consensus stage, when a second block chain node does not find, from the corresponding business memory, a part of the business request in the preprocessed block, the second block chain node can send a query message to acquire this part of the business request for another block chain node using pre-defined distributed middleware. After receiving the query message, the other block chain node can determine whether a business memory that corresponds to it includes that part of the business request; if so, the other block chain node returns a reply message to the second block chain node; if not, the other block chain node does not return the reply message to the second block chain node
Petition 870190105733, of 10/18/2019, p. 36/65
30/42 blocks.
[081] After receiving the response message, the second block chain node can acquire, through the use of predefined distributed middleware, that part of the business memory business request that corresponds to the block chain node that sends the reply message. The second block chain node can then perform the asymmetric signature legality check on this part of the business request. When determining that this part of the business request transmits the asymmetric signature legality check, the second block chain node stores that part of the business request in the business memory that corresponds to it. The second block chain node can store that part of the business request in the business memory that corresponds to it, according to a sequence of organization of the business requests in the pre-processed block. When determining that this part of the business request does not pass the asymmetric signature legality check, the second block chain node does not store that part of the business request and determines that the preprocessed block sent by the first block chain node failed to verify local consensus (ie the second block chain node).
[082] After receiving this part of the business request from the other block chain node, if the second block chain node still receives this part of the business request from other block chain nodes, the second chain node blocks can ignore that part of the business request received later and there is no need to perform the asymmetric signature legality check and store that part of the business request received later.
[083] In the embodiment of the present invention, the entire consensus network can be a consensus network of a consortium chain, and
Petition 870190105733, of 10/18/2019, p. 37/65
31/42 the block chain nodes can be block chain nodes in the consortium chain. In the embodiment of the present invention, the first block chain node can be a leader node in a consortium chain consensus algorithm, and the second block chain node can be a non-leader node in the chain consensus algorithm consortium
[084] It can be seen from the above method that when a second block chain node encounters, after receiving business requests transmitted by a first block chain node, that a corresponding business memory does not include some of the requests business, the second block chain node does not directly consider business requests as failures in verifying local consensus. Instead, the second block chain node can acquire missing business requests from other block chain nodes across the consensus network and perform consensus verification on business requests received from the first block chain node using acquired business requests and business requests stored in the company's own business memory. In this way, the adverse effects of consensus verification of business requests caused by a network failure are greatly reduced, thereby improving the accuracy of business processing for the entire block chain business.
[085] Furthermore, in the embodiment of the present invention, the business memory, for storing business requests, of each block chain node exists as a database. Compared to the prior art, where each block chain node stores business requests using a respective cache, business memory in the form of a database provided in the embodiment of the present invention considerably improves the capacity storage for business requests. In addition, when a block chain node performs
Petition 870190105733, of 10/18/2019, p. 38/65
32/42 a consensus check on a portion of business requests in business memory using the entire consensus network, the block chain node can still continue to receive business requests sent through the terminal. That is, it is not necessary to use the storage space occupied by the part of the business requests that goes through the consensus check to receive business requests sent by the terminal, and the efficiency of the block chain business processing is improved.
[086] The business verification method provided in the embodiment of the present invention described in the preceding, and based on the same idea, the embodiments of the present invention further provide two types of business verification apparatus, as shown in Figure 5 and in Figure 6.
[087] Figure 5 is a schematic diagram of an apparatus for business verification, in accordance with an embodiment of the present invention, including, specifically:
a receiving module (501), configured to receive a business request sent by a terminal;
a storage module (502), configured to store the business request in a business memory corresponding to the device and to broadcast the business request to the second block chain nodes, such that the second block chain nodes store the business request in the corresponding corresponding business memories; and a request gain module (503), configured to win at least one business request from the business memory, package the gain of at least one business request in a pre-processed block and transmit the pre-processed block to the ns of the second
Petition 870190105733, of 10/18/2019, p. 39/65
33/42 block chain, in such a way that the corresponding business memory does not include a part of the business request in the preprocessed block, each of the second block chain nodes acquires the business request part of another chain node blocks and performs consensus verification in the pre-processed block using the part of the business request and a business request stored in the business memory of the same.
[088] Business memory is a database that stores business requests.
[089] The storage module (502) is configured to store the business request in business memory using predefined distributed middleware.
[090] The gain request module (503) is configured to earn, from the business memory, a defined number of business requests with a business type greater than a defined priority.
[091] The storage module (502) is configured to store the business request in the business memory, according to the business type of the business request and a pre-defined priority sequence of the business types.
[092] The apparatus is a leading node in a consortium chain consensus algorithm, and the second block chain node is a non-leader node in the consortium chain consensus algorithm.
[093] Figure 6 is a schematic diagram of another device for business verification, according to an embodiment of the present invention, including, specifically:
a request receiving module (601), configured to receive a business request transmitted by a first block chain node;
Petition 870190105733, of 10/18/2019, p. 40/65
34/42 a request storage module (602), configured to store the business request in a business memory that corresponds to the device;
a receiving module (603), configured to receive a pre-processed block that is transmitted by the first block chain node and includes at least one business request and acquires a part of the business request from another block chain node when it is determined that the corresponding business memory does not include the part of the business request in the pre-processed block; and a verification module (604), configured to perform consensus verification in the pre-processed block through the use of the business request part and a business request stored in the corresponding business memory.
[094] The receiving module (603) is configured to send a query message to acquire the part of the business request to another second block chain node or the first block chain node when it is determined that the business memory it does not include the part of the business request in the pre-processed block; receive a response message returned by the other second block chain node or the first block chain node, indicating that a business memory that corresponds to the other second block chain node or the first block chain node that sends the reply message stores part of the business request; and acquiring the part of the business request from the business memory that corresponds to the second block chain node or the first block chain node that sends the response message.
[095] In the embodiment of the present invention, a first block chain node packages at least one business request gained from a business memory of the first block chain node in one
Petition 870190105733, of 10/18/2019, p. 41/65
35/42 pre-processed block and transmits the pre-processed block to the second block chain nodes. If it is found that a corresponding business memory does not include a part of the business request in the preprocessed block, a second block chain node can acquire the business request part from another block chain node and perform the consensus check of the business request included the pre-processed block using the business request part and a business request stored in the business memory of the same. When a second block chain node encounters, after receiving a preprocessed block transmitted by a first block chain node, that a corresponding business memory does not include a portion of the business requests in the preprocessed block, the second block chain node does not directly consider the preprocessed block as flawed in the local consensus check. Instead, the second block chain node can acquire missing business requests from other block chain nodes across the consensus network and perform consensus verification on the preprocessed block using acquired business requests and business requests stored in the business memory itself. In this way, the adverse effects of consensus verification of business requests caused by a network failure are greatly reduced, thereby improving the accuracy of business processing for the entire block chain business.
[096] In the 1990s, an improvement in a technology can obviously be distinguished as an improvement in hardware (for example, an improvement in a circuit structure like a diode, a transistor and a switch) or an improvement in software (an improvement in a method procedure). However, with the development of technologies, improvements in many method procedures today can be considered
Petition 870190105733, of 10/18/2019, p. 42/65
36/42 direct improvements in the hardware circuit structures. Almost all designers program the method's improved procedures on hardware circuits to gain corresponding hardware circuit structures. Therefore, it is inappropriate to assume that the improvement of a method procedure cannot be implemented using a hardware entity module. For example, a Programmable Logic Device (PLD) (for example, a Field Programmable Gate Array (FPGA)) is an integrated circuit whose logic functions are determined by devices programmed by a user. Designers program themselves to “integrate” a digital system into a piece of PLD, without the need to ask a chip maker to design and manufacture a dedicated integrated circuit chip. In addition, programming is currently mainly implemented using logic compiler software, rather than manually manufacturing an integrated circuit chip. Logical compiler software is similar to compiler software used to develop and write a program, and the original code before compiling must also be written using a specific programming language, which is referred to as HDL (Hardware Description Language). There are many types of HDLs, such as Advanced Boolean Expression Language (ABEL), Altera Hardware Description Language (AHDL), Confluence, Cornell University Programming Language (CUPL), HDCal, Java Hardware Description Language (JHDL), Lava , Lola, MyHDL, PALASM, and Ruby Hardware Description Language (RHDL), among which VHDL (Very-High-Speed Integrated Circuit Description Language) and Verilog are most used today. Those skilled in the art should also know that a hardware circuit to implement the logical method procedure can be easily obtained by slightly logically programming the method procedure using the various hardware description languages above and programming it in an integrated circuit. .
Petition 870190105733, of 10/18/2019, p. 43/65
37/42 [097] A controller can be implemented in any suitable way. For example, the controller may be in the form of, for example, a microprocessor or processor and a computer reading medium that stores computer-readable program code (for example, software or firmware) executable by the (micro) processor, a logic port, a switch, an ASIC (Application Specific Integrated Circuit), a programmable logic controller and a built-in microcontroller. Controller examples include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320. A memory controller can also be implemented as part of a memory's control logic. Those skilled in the art also know that the controller can be implemented using pure computer-readable program code, and in addition, the method steps can be logically programmed to allow the controller to implement the same function in the form of a logical, switch port. , an application-specific integrated circuit, a programmable logic controller and a built-in microcontroller. Therefore, this type of controller can be considered as a hardware component, and the devices included in it to implement various functions can also be considered as structures within the hardware component. Or, the devices used to implement various functions can even be considered as software modules to implement the method and structures within the hardware component.
[098] The system, device, module or unit illustrated in the above embodiments can be implemented, in a specific way, through the use of a computer chip or an entity, or a product having a certain function. A typical implementation device is a computer, specifically, the computer can be, for example, a
Petition 870190105733, of 10/18/2019, p. 44/65
38/42 personal computer, a laptop computer, a cell phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet, a wearable device, or a combination of any of those devices.
[099] To facilitate description, when the device is described, it is divided into several units in terms of functions for the respective description. Definitely, when the present invention is implemented, the functions of the units can be implemented in the same or in multiple pieces of software and / or hardware.
[0100] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, system or computer program product. Therefore, the present invention can be implemented as a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. In addition, the present invention may be a computer program product implemented on one or more storage media usable on a computer (including, but not limited to, a magnetic disk memory, a CD-ROM, an optical memory and the like) including program code usable on a computer.
[0101] The present invention is described with reference to flowcharts and / or block diagrams, according to the method, device (system) and computer program product, according to the embodiments of the present invention. It should be understood that a computer program instruction can be used to implement each process and / or block in flowcharts and / or block diagrams and combinations of processes and / or blocks in flowcharts and / or block diagrams. These
Petition 870190105733, of 10/18/2019, p. 45/65
39/42 computer program instructions can be provided for a general purpose computer, a special purpose computer, an embedded processor or a processor of any other programmable data processing device to generate a machine, so that instructions executed by a computer or processor of any other programmable data processing device generates an apparatus for implementing a specified function in one or more processes in flowcharts and / or in one or more blocks in block diagrams.
[0102] These computer program instructions can also be stored in a computer-readable memory that can instruct the computer or any other programmable data processing device to function in a particular way, so that the instructions stored in the memory generated by computer generate an artifact that includes an instructional apparatus. The instruction apparatus implements a function specified in one or more processes in the flowcharts and / or in one or more blocks in the block diagrams.
[0103] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operating steps are performed on the computer or other programmable device, thereby generating computer-implemented processing. . Therefore, instructions executed on the computer or on another programmable device provide steps to implement a function specified in one or more processes in flowcharts and / or in one or more blocks in block diagrams.
[0104] In a typical configuration, a computing device includes one or more central processing units (CPUs), an I / O interface, a network interface and a memory.
Petition 870190105733, of 10/18/2019, p. 46/65
40/42 [0105] The memory may include computer-readable media, such as volatile memory, random access memory (RAM) and / or non-volatile memory, for example, single-read memory (ROM) or flash memory. Memory is an example of a computer-readable medium.
[0106] The computer-readable medium includes non-volatile and volatile media, as well as mobile and non-mobile media, and can implement information storage by any method or technology. The information can be a computer-readable instruction, a data structure and a program module or other data. A computer storage medium includes, for example, but is not limited to, a phase change memory (PRAM), a static random access memory (SRAM), a dynamic random access memory (DRAM), other types of RAMs, a ROM, an electronically erasable programmable read-only memory (EEPROM), a flash memory or other memory technologies, a compact disk (CD-ROM) reading memory, a digital versatile disk (DVD) or other optical storage devices, a cassette, a magnetic tape / magnetic disk storage or other magnetic storage devices, or any other means of non-transmission, and can be used to store information accessed by the computing device. According to the definition of this text, the computer-readable medium does not include transient means, such as a modulated data signal and a carrier.
[0107] It should also be noted that the term "include", "including" or other variations thereof is intended to include non-exclusive inclusion, so that a process, method, commodity or device including a series of elements not only include the elements, but also include other elements not clearly listed, or include elements inherent to the process, method, commodity or device. In a case without further
Petition 870190105733, of 10/18/2019, p. 47/65
41/42 limitations, an element defined by “including one / an ...” does not exclude that the process, method, merchandise or device including the element has other identical elements.
[0108] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, system or computer program product. Accordingly, The present invention can be implemented as a complete hardware embodiment, a complete software embodiment or an embodiment that combines software and hardware. In addition, The present invention may be in the form of a computer program product implemented on one or more storage media usable on a computer (including, but not limited to, a magnetic disk memory, a CD-ROM, an optical memory and the like) including program code usable on a computer.
[0109] The present invention can be described in a common context of a computer executable instruction executed by a computer, for example, a program module. In general, the program module includes a routine, a program, an object, an assembly, a data structure and the like used to perform a specific task or implement a specific abstract data type. The present invention can also be implemented in distributed computing environments, and in distributed computer environments, a task is performed using remote processing devices connected via a communications network. In the distributed computer environment, the program module can be located on the storage media of the local and remote computer, including a storage device.
[0110] The embodiments in the specification are progressively described, identical or similar parts of the embodiments
Petition 870190105733, of 10/18/2019, p. 48/65
42/42 can be obtained with reference to each other, and each embodiment emphasizes a different part of other embodiments. In particular, the embodiment of the system is basically similar to the embodiment of the method, so it is simply described, and for related parties, reference can be made to the description of the parties in the embodiment of the method.
[0111] The above description is only an embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have several modifications and variations. Any modification, equivalent substitution, improvement or similar made without departing from the spirit and principle of the present invention must all be within the scope of the claims of the present invention.
权利要求:
Claims (15)
[1]
Claims
1. BUSINESS VERIFICATION METHOD, characterized by understanding:
receive, through a first block chain node in an entire consensus network, a business request sent by a terminal;
store, in the first block chain node, the business request in a business memory, which corresponds to the first block chain node, and transmit the business request to the second block chain nodes, of an entire consensus network ;
store, in a few seconds block chain nodes of the second block chain nodes, the business request in the corresponding corresponding business memories, every few seconds block chain nodes of the second block chain nodes, where when the first block chain node transmits the business request received to the second block chain nodes, some of the second block chain nodes do not receive the business request transmission by the first block chain node due to a factor of impact, such as a network failure;
gain, in a first block chain node, at least one business request from the business memory of the first block chain node;
package, in a first block chain node, the gain of at least one business request in a pre-processed block and transmit the pre-processed block from at least one business request to the second block chain nodes for consensus verification ;
receive, through the second block chain nodes, the
Petition 870190105733, of 10/18/2019, p. 50/65
[2]
2/10 pre-processed block of at least one business request;
perform consensus verification, on the second block chain nodes, on the pre-processed block of at least one business request, according to business requests included in the corresponding corresponding business memories and correspond to at least one business request the business memory of the first block chain node;
when a second block chain node discovers that a business memory that matches it does not include a portion of the business requests in the preprocessed block, the second block chain node does not directly consider the preprocessed block of at least a business request as a failure to verify local consensus;
acquires, through the second block chain nodes, the part of the business requests that other block chain nodes lack in the entire consensus network; and perform a consensus check, on the second block chain node, on the business request included in the pre-processed block using the acquired part of the business request and business requests stored in the business memory of the second chain node blocks.
2. METHOD according to claim 1, characterized in that the business memories of the first block chain node and the second block chain nodes are defined in the form of a database that stores business requests and in which a business memory of memories does not disappear in the event of failure of a corresponding block chain node.
[3]
3. METHOD, according to claim 2, characterized by the step of storing the business request in a memory of
Petition 870190105733, of 10/18/2019, p. 51/65
3/10 businesses that correspond to the first block chain node, in a specific way, understand:
send the business request sent from the terminal to a pre-defined distributed middleware for data transmission between the block chain nodes and the business memories across the consensus network; and store the business request in the business memory corresponding to the first block chain node, according to a node identifier of the first block chain node, using predefined distributed middleware.
[4]
4. METHOD, according to any one of claims 1 to 3, characterized in that the step of winning at least one business request from the business memory, in a specific way, comprises:
win, through business memory, a defined number of business requests with a business type greater than a defined priority.
[5]
5. METHOD, according to claim 4, characterized in that the step of storing the business request in a business memory that corresponds to the first block chain node, in a specific way, comprises:
store the business request in the business memory, according to the business type of the business request; and classify, through the first block chain node, the business request and business requests received previously, according to a pre-defined sequence of priority types of business.
[6]
6. METHOD according to claim 1, characterized in that the first block chain node is a leader node in a consortium chain consensus algorithm, and the second block chain node is a node
Petition 870190105733, of 10/18/2019, p. 52/65
4/10 not a leader in the consortium chain consensus algorithm.
[7]
7. METHOD, according to claim 1, characterized by the step of acquiring, through the second block chain node, the part of the business requests that is missing from the other block chain nodes in the entire consensus network, understand:
send a query message to acquire the part of the business requests to another second block chain node or the first block chain node, when it is determined that the business memory of the second block chain node does not comprise the part of the business requests in the pre-processed block;
receive a response message returned by the other second block chain node or the first block chain node, the response message indicating that a business memory corresponding to the other second block chain node or the first block chain node blocks that sends the response message stores the part of the business requests; and acquiring the part of the business requests from the business memory that corresponds to the second block chain node or the first block chain node that sends the response message.
[8]
8. METHOD, according to claim 1, characterized by further comprising:
after receiving the business request sent by the first block chain nodes, the second block chain node, further transmitting the business request to other block chain nodes across the consensus network;
on other block chain nodes when receiving business requests, judge whether the business request was received previously;
Petition 870190105733, of 10/18/2019, p. 53/65
5/10 if yes, the other block chain nodes ignore business requests; and if not, the other block chain nodes store business requests in the business memories corresponding to the same, using predefined distributed middleware.
[9]
9. METHOD, according to claim 8, characterized by further comprising:
during consensus verification, after receiving the pre-processed block, verify, through the second block chain nodes, the legality of the asymmetric signatures of the business requests included in the pre-processed block.
[10]
10. METHOD, according to claim 9, characterized by further comprising:
according to the asymmetric signature legality check and hash integrity check performed for the preprocessed block, obtain through each of the block chain nodes a result of checking the same whether the preprocessed block as a whole is cool;
transmit, through each of the block chain nodes, the verification result obtained by you to other block chain nodes; and according to the verification results sent by the other block chain nodes to the pre-processed block and the verification result obtained by you, each of the block chain nodes, obtaining an integrated verification result, on whether the pre-processed block passes the checks of the block chain nodes throughout the consensus network, also transmitting the result of the integrated verification obtained to the other block chain nodes;
Petition 870190105733, of 10/18/2019, p. 54/65
6/10 after receiving the results of the integrated verification transmitted between each other, judge, for each of the block chain nodes in the consensus network, whether the majority of the integrated verification results obtained by the block chain nodes in the consensus network indicate that the verification is successful;
if so, store the business requests in the pre-processed block in a block block as blocks; and if not, refuse business requests in the preprocessed block.
[11]
11. BUSINESS VERIFICATION DEVICE, characterized by comprising:
a request receiving module, configured to receive a business request, transmitted by a first block chain node across the consensus network to the second block chain nodes across the consensus network;
a request storage module (502.602), configured to store the business request in a business memory that corresponds to the first block chain node and a few second block chain nodes from the second block chain nodes, through the use of pre-defined distributed middleware, where when the first block chain node transmits the business request to the second block chain nodes, some of the second block chain nodes do not receive the business request transmitted by the first block chain node due to an impact factor, such as a network failure;
a receiving module (501) configured to:
receive, through the second block chain nodes, a pre-processed block that is transmitted by the first block chain node
Petition 870190105733, of 10/18/2019, p. 55/65
7/10 blocks and comprises at least one business request;
perform consensus verification in the pre-processed block of at least one business request, according to the business requests included in the corresponding corresponding business memories and correspond with at least one business request from the first node's business memory block chain;
when a second block chain node discovers that a business memory corresponding to it does not include a portion of the business requests in the preprocessed block, the second block chain node does not directly consider the preprocessed block of at least one business solicitation as failure to verify local consensus; and acquire, through the second block chain node, the part of the business request that is missing from another block chain node, in the entire consensus network; and a verification module (604) configured to perform a consensus check on the pre-processed block using the acquired part of the business requests and a business request stored in the business memory that corresponds to the second block chain node.
[12]
Apparatus according to claim 11, characterized in that the business memory of the memories of the first block chain node and the second block chain nodes are defined in the form of a database that stores business requests, and where a business memory of the memories does not disappear in the event of failure of a corresponding block chain node.
[13]
13. APPLIANCE according to claim 11, characterized by the request storage module (502) being configured to:
Petition 870190105733, of 10/18/2019, p. 56/65
8/10 send the business request to a pre-defined distributed middleware for data transmission between the block chain nodes and the business memories across the consensus network;
store the business request in the business memories that correspond to the first block chain node and the second block chain nodes, according to the node identifiers of the first block chain node and the second block chain nodes, through the use of pre-defined distributed middleware, in which the storage of the business request is in accordance with a type of business of the business request; and classify, through the first block chain node, the business request and business requests received previously, according to a pre-defined sequence of priority types of business.
[14]
14. APPLIANCE, according to claim 11, characterized in that the receiving module is configured to:
send a query message to acquire the part of the business request to another second block chain node or the first block chain node, when it is determined that the business memory of the second block chain node does not comprise the part of the business requests in the pre-processed block;
receive a response message returned by the other second block chain node or the first block chain node, the response message indicating that a business memory corresponding to the other second block chain node or the first chain chain node blocks that send the response message store part of the business requests; and acquire the part of the business requests from the business memory that corresponds to the second block chain node or the first
Petition 870190105733, of 10/18/2019, p. 57/65
9/10 block chain node that sends the response message.
[15]
APPLIANCE according to claim 11, characterized in that the verification module (604) is configured to:
after receiving the pre-processed block, verify, through the second block chain nodes, the legality of the asymmetric signatures of the business requests included in the pre-processed block.
according to the asymmetric signature legality check and a hash integrity check carried out for the preprocessed block, obtain for each of the block chain nodes a result of checking the same whether the preprocessed block, as as a whole, it's cool;
transmit, through each of the block chain nodes, the verification result obtained by itself to other block chain nodes; and according to verification results sent through the other block chain nodes to the pre-processed block and the verification result obtained by itself, each of the block chain nodes obtains an integrated verification result, if the pre-processed block passes through the checks of the block chain nodes in the entire consensus network, also transmitting the result of the integrated verification obtained to the other block chain nodes;
after receiving the results of the integrated verification transmitted between each other, judge, through each of the block chain nodes in the consensus network, whether the majority of the integrated verification results obtained through the block chain nodes in the consensus network indicate that the verification was successful;
if so, it stores business requests in the pre-processed block in its own block chain as blocks; and
Petition 870190105733, of 10/18/2019, p. 58/65
10/10 processed.
if not, refuse business requests in the prePetition block 870190105733, of 10/18/2019, p. 59/65
1/4
I A first block chain node receives a request
Business I sent by a terminal
The business request is stored in a business memory that corresponds to the first block chain node, and transmits the business request to the second block chain nodes, such that the second block chain nodes store the request corresponding business memos i At least one business request is obtained from
I business memory, the gain of at least one | I business request is packaged in a pre-processed block and the pre-processed block is transmitted to the | I second block chain nodes, so that when | I determines that the corresponding business memory | I at the same time, does not include a part of the business request I in the pre-processed block, each of the second nodes of the I I block chain acquires the business request part | I from another block chain node and perform the | I consensus in the pre-processed block using part 1 I of the business request and a business request i
I stored in the business memory of it
类似技术:
公开号 | 公开日 | 专利标题
BR112019017409A2|2020-03-31|METHOD FOR BUSINESS VERIFICATION AND APPARATUS FOR BUSINESS VERIFICATION
TWI685764B|2020-02-21|Consensus verification method and device
BR112019013204A2|2019-12-10|service processing method and service processing device
US10915901B2|2021-02-09|Method and apparatus for processing transaction requests
TWI682651B|2020-01-11|Authentication method, authentication data processing method and device based on blockchain
JP2020508593A|2020-03-19|Consensus verification method and device
US11196755B2|2021-12-07|Cross-blockchain interaction systems
JP6675518B1|2020-04-01|Method and device for processing a service request
US9270467B1|2016-02-23|Systems and methods for trust propagation of signed files across devices
WO2021114872A1|2021-06-17|Verifiable claim-based service processing method, apparatus, and device
WO2021196741A1|2021-10-07|Management method and device for system configuration independent of smart contract on blockchain
JP2020161112A|2020-10-01|Method, device, and storage medium for processing transaction falsified based on ethereum
BR112019019871B1|2021-11-16|NON TRANSITIONAL STORAGE MEDIA READABLE BY COMPUTER, METHOD AND SYSTEM ASSOCIATED WITH A FIRST BLOCKCHAIN NUMBER OF A CONSENSUS NETWORK
US11252193B2|2022-02-15|Attestation service for enforcing payload security policies in a data center
US20210328810A1|2021-10-21|Methods and apparatuses for processing transactions based on blockchain integrated station
CN104881345A|2015-09-02|Central processing unit and computer power-on self-test method
同族专利:
公开号 | 公开日
PH12019501943A1|2020-07-13|
EP3583556A1|2019-12-25|
MX2019009976A|2019-09-26|
KR20190115475A|2019-10-11|
AU2018225736A1|2019-09-12|
CN111917864A|2020-11-10|
CN107040585B|2020-06-19|
AU2021203493A1|2021-06-24|
US20180240114A1|2018-08-23|
KR102315306B1|2021-10-20|
TW201832098A|2018-09-01|
CA3054363A1|2018-08-30|
RU2722392C1|2020-05-29|
WO2018156763A1|2018-08-30|
TWI691853B|2020-04-21|
CN107040585A|2017-08-11|
SG11201907679TA|2019-09-27|
JP2020509690A|2020-03-26|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

US10409827B2|2014-10-31|2019-09-10|21, Inc.|Digital currency mining circuitry having shared processing logic|
US9967334B2|2015-03-02|2018-05-08|Dell Products Lp|Computing device configuration and management using a secure decentralized transaction ledger|
US20160283920A1|2015-03-28|2016-09-29|Justin Fisher|Authentication and verification of digital data utilizing blockchain technology|
CN105630609B|2016-02-24|2021-05-11|杭州复杂美科技有限公司|Block chain packing storage method|
CN105808325B|2016-03-03|2019-04-12|布比(北京)网络技术有限公司|A kind of method and device of data processing|
CN106228446B|2016-05-12|2019-09-13|北京众享比特科技有限公司|Transaction in assets plateform system and method based on privately owned block chain|
CN109863516A|2016-08-08|2019-06-07|邓白氏公司|It is applied for the trusted platform of network B OP component and integrated BOP|
CN106357604B|2016-08-18|2019-07-23|苏州超块链信息科技有限公司|A kind of consistent data accumulation collaboration assemble method|
CN106327173A|2016-08-22|2017-01-11|布比(北京)网络技术有限公司|Network payment method and network payment device|
RU2639015C1|2017-01-26|2017-12-19|Игорь Сан-Сенович Дю|Authenticity and quality control procedure of production in the process of manufacture and implementation|
CN111917864A|2017-02-22|2020-11-10|创新先进技术有限公司|Service checking method and device|
CN107391526B|2017-03-28|2021-04-02|创新先进技术有限公司|Data processing method and device based on block chain|CN111917864A|2017-02-22|2020-11-10|创新先进技术有限公司|Service checking method and device|
CN107341702B|2017-03-08|2020-06-23|创新先进技术有限公司|Service processing method and device|
CN111724150A|2017-03-28|2020-09-29|创新先进技术有限公司|Service request processing method and device|
US20180308091A1|2017-04-21|2018-10-25|Vmware, Inc.|Fairness preserving byzantine agreements|
CN107767478B|2017-09-06|2020-10-16|阿里巴巴集团控股有限公司|Method and device for saving working record|
CN107623865A|2017-09-26|2018-01-23|武汉斗鱼网络科技有限公司|A kind of data verification method and server|
CN107734021B|2017-09-30|2020-04-07|深圳壹账通智能科技有限公司|Block chain data uploading method and system, computer system and storage medium|
CN108182635A|2017-12-18|2018-06-19|深圳前海微众银行股份有限公司|Block chain common recognition method, system and computer readable storage medium|
CN108111604B|2017-12-21|2020-08-14|广州广电运通金融电子股份有限公司|Block chain consensus method, device and system, and identification information processing method and device|
CN108269190A|2018-01-17|2018-07-10|深圳四方精创资讯股份有限公司|Across chain method and its system based on across chain relaying platform|
CN108280358B|2018-02-12|2020-10-30|北京金山安全软件有限公司|Information reminding method and device and electronic equipment|
US20190295049A1|2018-03-22|2019-09-26|NEC Laboratories Europe GmbH|System and method for secure transaction verification in a distributed ledger system|
CN108776929A|2018-04-02|2018-11-09|成都云创智融科技有限公司|Bill processing method, system based on block chain database and readable storage medium storing program for executing|
CN108833330B|2018-04-08|2020-07-17|浙江商业职业技术学院|Rural e-commerce data authentication method|
CN108809929B|2018-04-08|2020-07-17|浙江商业职业技术学院|Rural financial system based on block chain technology|
CN108648078B|2018-05-02|2021-03-23|杭州溪塔科技有限公司|Transaction preprocessing method and device and electronic equipment|
US10579424B2|2018-05-15|2020-03-03|International Business Machines Corporation|Prioritization in a permissioned blockchain|
CN110610361A|2018-06-14|2019-12-24|普天信息技术有限公司|Enterprise data signature method and device based on block chain|
US11223606B2|2018-06-29|2022-01-11|Intel Corporation|Technologies for attesting a deployed workload using blockchain|
CN108900364B|2018-08-22|2021-11-26|泰康保险集团股份有限公司|Block chain network management method, block chain network management device, block chain network management medium and electronic equipment|
CN109118230A|2018-08-29|2019-01-01|众安信息技术服务有限公司|Information processing method and device based on block chain|
CN109410084A|2018-10-17|2019-03-01|郑称德|The mobile payment control method and agricultural trade system of agricultural trade system based on e-commerce|
KR20210071962A|2018-11-05|2021-06-16|라인플러스 주식회사|A method and system for efficiently processing the high transaction throughput required by DApps on the blockchain|
BR112019015423A2|2018-12-13|2020-03-31|Alibaba Group Holding Limited|COMPUTER IMPLEMENTED METHOD TO PROTECT SENSITIVE DATA STORED IN A TRUSTED PROTOCOL MAINTAINED BY A TRUSTED PROTOCOL NETWORK, NON-TRANSITIONAL STORAGE MEDIA, COMPUTER-READABLE AND SYSTEM|
CN109753418A|2018-12-28|2019-05-14|金蝶软件(中国)有限公司|Performance test methods, device, computer equipment and storage medium|
CN109829815B|2019-01-12|2021-10-01|杭州复杂美科技有限公司|Method, apparatus and storage medium for collecting agent|
AU2019203849C1|2019-03-04|2021-04-29|Advanced New Technologies Co., Ltd.|Updating blockchain world state merkle patricia trie subtree|
CN110086856B|2019-04-01|2022-02-01|达闼机器人有限公司|Control method and device of block chain node, storage medium and electronic equipment|
CN110278211A|2019-06-24|2019-09-24|深圳前海微众银行股份有限公司|A kind of data checking method and device based on block chain|
CN110445843B|2019-07-15|2021-11-02|杭州复杂美科技有限公司|Parallel chain block pushing method, device and storage medium|
CN110445626B|2019-07-15|2021-11-02|杭州复杂美科技有限公司|Block packing and broadcasting method and system, equipment and storage medium|
CN110445853B|2019-07-29|2021-08-06|杭州复杂美科技有限公司|Parallel chain node excitation method, device and storage medium|
CN110471795B|2019-07-31|2020-10-02|阿里巴巴集团控股有限公司|Block chain state data recovery method and device and electronic equipment|
CN110443710A|2019-08-02|2019-11-12|中国工商银行股份有限公司|A kind of the block catenary system and method for batch signature|
CN110971684A|2019-11-28|2020-04-07|北京工业大学|PBFT-based block chain network node load balancing method|
KR102141177B1|2019-12-12|2020-08-04|주식회사 립페이|Method for providing dual blockchain structure based high-speed transaction processing service in middleware layer|
CN111641707B|2020-05-29|2021-09-17|兰州理工大学|Block chain-based digital copyright protection method|
CN112001663B|2020-10-30|2021-02-12|腾讯科技(深圳)有限公司|Material donation data processing method based on block chain and related equipment|
法律状态:
2021-04-06| B25A| Requested transfer of rights approved|Owner name: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD. (KY) |
2021-04-27| B25A| Requested transfer of rights approved|Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY) |
2021-10-13| B350| Update of information on the portal [chapter 15.35 patent gazette]|
优先权:
申请号 | 申请日 | 专利标题
CN201710096987.5|2017-02-22|
CN201710096987.5A|CN107040585B|2017-02-22|2017-02-22|Service checking method and device|
PCT/US2018/019228|WO2018156763A1|2017-02-22|2018-02-22|Business verification method and apparatus|
[返回顶部]